package com.xyazm.fulfill.service;

import com.xyazm.fulfill.domain.param.CancelFulfillParam;
import com.xyazm.fulfill.domain.param.TriggerFulFillParam;
import com.xyazm.fulfill.domain.param.TriggerOrderAfterFulfillEventParam;

/**
 * 履约相关
 * @author xuyou
 * @date 2022年06月08日 21:46
 */
public interface IFulfillService {


    /**
     * 触发订单履约 2.0
     * @author xuyou
     * @date: 2022/6/23 17:42
     * @param: param
     */
    void triggerFulFill(TriggerFulFillParam param);

    /**
     * 履约通知停止配送 2.0
     * @author xuyou
     * 2022/6/8 0008 22:15
     * @param param
    */
    void cancelFulfill(CancelFulfillParam param);


    /**
     * 触发订单物流配送结果事件 2.0
     * 一个工具类接口，用于模拟触发"订单已出库事件"，"订单已配送事件"，"订单已签收事件"
     * @author xuyou
     * @date: 2022/7/21 17:46
     */
    void triggerOrderWmsShipEvent(TriggerOrderAfterFulfillEventParam param);


}
